package com.hunttown.mes.common.utils;

/**
 * 计算个人所得税
 * created by wangjunfu on 2020-03-26
 */
public class PersonTaxUtils {
    /*
    * 2018年8月31日，第十三届全国人民代表大会常务委员会第五次会议通过《关于修改〈中华人民共和国个人所得税法〉的决定》，将个税免征额由3500元提高到5000元。2019年1月1日实施。
    * 个人所得税 =（月收入 - 五险一金 - 依法确定的其他扣除 - 起征点 - 专项附加扣除）* 税率 - 速算扣除数
    * */

    //------------------------------------------------------------------
    // 级数   全年应纳税所得额                税率（%）  速算扣除数
    // 1     不超过36000元的 3 0
    // 2     超过36000元至144000元的部分       10      2520
    // 3     超过144000元至300000元的部分      20      16920
    // 4     超过300000元至420000元的部分      25      31920
    // 5     超过420000元至660000元的部分      30      52920
    // 6     超过660000元至960000元的部分      35      85920
    // 7     超过960000元的部分                45     181920
    //------------------------------------------------------------------


    //个税起征点
    private static final float ExemptTax = 5000;

    /**
     * 获取个人所得税
     *
     * @param salary 工资
     * @return 税
     */
    public static float getPersonTax(float salary) {

        float tax = 0;

        if (salary <= 0 || salary <= 5000) {
            return tax;
        }

        //减去起征点
        salary = salary - 5000;

        if (salary < 36000) {
            tax = salary * 0.03f;
        }

        if (salary > 36000 && salary <= 144000) {
            tax = salary * 0.1f - 2520;
        }

        if (salary > 144000 && salary <= 300000) {
            tax = salary * 0.2f - 16920;
        }

        if (salary > 300000 && salary <= 420000) {
            tax = salary * 0.25f - 31920;
        }

        if (salary > 420000 && salary <= 660000) {
            tax = salary * 0.3f - 52920;
        }

        if (salary > 660000 && salary <= 960000) {
            tax = salary * 0.35f - 85920;
        }

        if (salary > 960000) {
            tax = salary * 0.45f - 181920;
        }

        return tax;
    }
}
